package com.lzhsite.technology.designPattern.command.RestaurantDemo;

import java.util.concurrent.locks.Lock;

/**
 * 系统需要在不同的时间指定请求、将请求排队和执行请求。 系统需要将一组操作组合在一起，即支持宏命令。
 * 
 * @author lzhcode
 *
 */
public class ClientForRestaurantDemo {

	public static Byte Lock = 1;

	public static void main(String[] args) {
		// 4个厨师同时开始工作
		CookManager.runCookManager();

		// 一次循环相当于一个订单
		for (int i = 0; i < 5; i++) {
			Waiter waiter = new Waiter();

			ICommand chopCommand = new ChopCommand(i);
			ICommand duckCommand = new DuckCommand(i);
			ICommand porkCommand = new PorkCommand(i);

			waiter.orderDish(chopCommand);
			waiter.orderDish(duckCommand);
			waiter.orderDish(porkCommand);
			waiter.orderOver();
		}
	}
}
